package cn.iocoder.yudao.module.infra.tts.impl.mock;

import cn.hutool.core.util.RandomUtil;
import cn.iocoder.yudao.module.infra.tts.impl.SimpleTTSApi;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

@Service("tts-mock-sleep")
@Slf4j
public class MockSleepTTSApi extends SimpleTTSApi {

    /**
     * 创建音色复刻
     *
     * @param voice_path 音色下载url
     * @return 音色复刻id
     * @return
     */
    @Override
    public String createCloneVoice(String voice_path) {
        throw new UnsupportedOperationException("mock接口不支持该方法");
    }

    /**
     * 文本转音频
     *
     * @param voice           音色名字
     * @param voice_path      音色下载url
     * @param response_format 音频格式（mp3/wav），目前传mp3
     * @param input           要转换的文本
     * @return 转换后的音频字节数组
     */
    @Override
    public byte[] convertTextToSpeech(String voice, String voice_path, String voice_hash,
                                      String voice_suffix, String response_format, String input) {
        try {
            Thread.sleep(RandomUtil.randomInt(500, 3000));
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
        return new byte[]{1, 2, 3, 4, 5};
    }
}
